package org.luxor.generator.entity;

import java.io.Serializable;

/**
 * 项目模板参数
 *
 * @author Mark sunlightcs@gmail.com
 */
public class ProjectModel implements Serializable {

    /**
     * 作者
     */
    private String author;
    /**
     * 作者邮箱
     */
    private String email;
    /**
     * 表前缀（生成实体时,实体名称会忽略该前缀）
     */
    private String tablePrefix;

    /**
     * 公共组件的基础类路径
     */
    private String mainPath;

    /**
     * 基础包路径(如: org.luxor)
     */
    private String basePackage;
    /**
     * 模块名称(如: system)
     */
    private String moduleName;

    /**
     * 需要权限控制功能?
     */
    private boolean permission;
    /**
     * 需要Excel导出功能？
     */
    private boolean excel;

    public ProjectModel() {
    }

    public ProjectModel(String author, String email, String tablePrefix, String mainPath, String basePackage, String moduleName,boolean permission, boolean excel) {
        this.author = author;
        this.email = email;
        this.tablePrefix = tablePrefix;
        this.mainPath = mainPath;
        this.basePackage = basePackage;
        this.moduleName = moduleName;
        this.permission = permission;
        this.excel = excel;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getTablePrefix() {
        return tablePrefix;
    }

    public void setTablePrefix(String tablePrefix) {
        this.tablePrefix = tablePrefix;
    }

    public String getMainPath() {
        return mainPath;
    }

    public void setMainPath(String mainPath) {
        this.mainPath = mainPath;
    }

    public String getBasePackage() {
        return basePackage;
    }

    public void setBasePackage(String basePackage) {
        this.basePackage = basePackage;
    }

    public String getModuleName() {
        return moduleName;
    }

    public void setModuleName(String moduleName) {
        this.moduleName = moduleName;
    }

    public boolean getPermission() {
        return permission;
    }

    public void setPermission(boolean permission) {
        this.permission = permission;
    }

    public boolean getExcel() {
        return excel;
    }

    public void setExcel(boolean excel) {
        this.excel = excel;
    }

    @Override
    public String toString() {
        return "ProjectModel{" +
                "author='" + author + '\'' +
                ", email='" + email + '\'' +
                ", tablePrefix='" + tablePrefix + '\'' +
                ", mainPath='" + mainPath + '\'' +
                ", basePackage='" + basePackage + '\'' +
                ", moduleName='" + moduleName + '\'' +
                ", permission=" + permission +
                ", excel=" + excel +
                '}';
    }
}
